namespace Digitalmes.Domain.Entities.Mes.Reworks;

/// <summary>
/// 产品返工缺陷。
/// </summary>
[SugarTable("rework_defect")]
public sealed class ReworkDefect : EntityBase
{
    /// <summary>
    /// 关联的返工单 Id。
    /// </summary>
    public long ReworkId { get; set; }

    /// <summary>
    /// 缺陷定义 Id。
    /// </summary>
    public long DefectId { get; set; }

    /// <summary>
    /// 缺陷代码，用于快速标记缺陷类型（如 "D001"、"D002"）。
    /// </summary>
    [NotNull]
    public string? DefectCode { get; set; }

    /// <summary>
    /// 缺陷名称（如 "尺寸超差"、"表面划伤"、"焊接虚焊"）。
    /// </summary>
    [NotNull]
    public string? DefectName { get; set; }

    /// <summary>
    /// 缺陷类型
    /// </summary>
    [NotNull]
    public string? DefectType { get; set; }

    /// <summary>
    /// 缺陷类型描述。
    /// </summary>
    public string? DefectTypeDesc { get; set; }

    /// <summary>
    /// 严重等级 (1-4)（如 "1-轻微"、"2-一般"、"3-严重"、"4-致命"）。
    /// </summary>
    public DefectLevelEnum DefectLevel { get; set; }
}
